#!/usr/bin/env python
# -*- coding:utf-8 -*-

# file:do_sqlalchemy0.py
# author:Jackiex
# datetime:2023/5/15 11:36
# software: PyCharm

"""
   1 探究SQLAchemy查询返回的数据类型以及输出问题；
   2 SQLALchemy基本使用
   安装： pip install SQLALchemy
"""

import sqlalchemy

from sqlalchemy import Column, String, create_engine
from sqlalchemy.orm import sessionmaker,declarative_base


# 创建对象的基类:
Base = declarative_base()


class User(Base):
    # 表的名字:
    __tablename__ = 'user'

    # 表的结构:
    id = Column(String(20), primary_key=True)
    name = Column(String(20))


# 初始化数据库连接
# 创建访问引擎--要指定数据库访问驱动
engine = create_engine("mysql+pymysql://test:123456@127.0.0.1:3306/sct_study")

# 创建DBSession类型:
DBSession = sessionmaker(bind=engine)

# 创建Session:
session = DBSession()

# 创建Query查询，filter是where条件，最后调用first()返回唯一行，如果调用all()则返回所有行:

user = session.query(User).filter(User.id == '1').first()

# 查看返回的数据类型

# user = session.query(User).filter(User.id=='3').first()
#
# # 查看返回的数据类型

# print('type:', type(user))    # 返回的是一个User对象


print(user.id,user.name)
